Rendering of user-defined message having 3d motion information

ABSTRACT

A method comprising: enabling a first user to define a message for display to at least a second user in association with a first three-dimensional scene viewed by the first user and viewed by or viewable by the second user, wherein the message comprises user-defined message content for display and message metadata, not for display, defining first three-dimensional spatial information; and enabling rendering of the user-defined message content in a second three-dimensional scene viewed by the second user, wherein the user-defined message content moves, within the second three-dimensional scene, along a three-dimensional trajectory dependent upon the first three-dimensional spatial information and three-dimensional spatial information of the second user.

TECHNOLOGICAL FIELD

Embodiments of the present invention relate to rendering of user-definedmessages.

BACKGROUND

It is known in China and Japan to scroll user-defined messages fromdifferent users simultaneously across a display screen, from right toleft in multiple rows, as a foreground in front of displayedtwo-dimensional video content. The messages are referred to as barragemessages e.g. “Danmu” or “danmaku”.

BRIEF SUMMARY

According to various, but not necessarily all, embodiments of theinvention there is provided a method comprising: enabling a first userto define a message for display to at least a second user in associationwith a first three-dimensional scene viewed by the first user and viewedby or viewable by the second user, wherein the message comprisesuser-defined message content for display and message metadata, not fordisplay, defining first three-dimensional spatial information; andenabling rendering of the user-defined message content in a secondthree-dimensional scene viewed by the second user, wherein theuser-defined message content moves, within the second three-dimensionalscene, along a three-dimensional trajectory dependent upon the firstthree-dimensional spatial information and three-dimensional spatialinformation of the second user.

According to various, but not necessarily all, embodiments of theinvention there is provided examples as claimed in the appended claims.

BRIEF DESCRIPTION

For a better understanding of various examples that are useful forunderstanding the detailed description, reference will now be made byway of example only to the accompanying drawings in which:

FIG. 1 illustrates an example of a messaging method;

FIG. 2 illustrates another example of a messaging method;

FIG. 3A illustrates an example of a first three-dimensional scene asviewed by a first user;

FIG. 3B illustrates an example of a second three-dimensional scene asviewed by a second user;

FIG. 4 illustrates an example of three-dimensional spatial informationof the first user;

FIGS. 5A-5C illustrates different examples of three-dimensional spatialinformation of the second user;

FIGS. 6A and 6B illustrate examples of different second scenes;

FIG. 7 illustrates an example of a message comprising message contentand metadata;

FIG. 8A illustrates an example of an apparatus configured to control adisplay to render the message content of one or more messages;

FIG. 8B illustrates an example of a delivery mechanism for a computerprogram;

FIG. 8C illustrates an example of a system of multiple apparatusconfigured to control a display to render the message content of one ormore messages; and

FIGS. 9A, 9B and 9C illustrate examples of the apparatus.

DETAILED DESCRIPTION

The Figs illustrate an example of a method 10 comprising: enabling afirst user 101 (FIG. 4) to define a message 2 (FIG. 1, 7) for display(FIG. 3B, 6A, 6B) to at least a second user 102 (FIG. 5A-C) inassociation with a first three-dimensional scene 20 (FIG. 3A) viewed bythe first user 101 and viewed by or viewable (FIG. 3B) by the seconduser 102, wherein the message 2 comprises user-defined message content 4(FIG. 1) for display and message metadata 6 (FIG. 1), not for display,defining first three-dimensional spatial information 5 (FIG. 1); andenabling rendering (FIG. 3B, 6A, 6B) of the user-defined message content4 in a second three-dimensional scene 20′ viewed by the second user 102,wherein the user-defined message content 4 moves, within the secondthree-dimensional scene 20′, along a three-dimensional trajectory 8dependent upon the first three-dimensional spatial information 5 andthree-dimensional spatial information 55 of the second user 102.

FIG. 1 illustrates an example of a messaging method 10.

At block 12, the method 10 comprises enabling a first user 101 to definea message 2 for display to at least a second user 102 in associationwith a first three-dimensional scene 20 viewed by the first user 101 andviewed by or viewable by the second user 102. The message 2 comprisesuser-defined message content 4 for display and message metadata 6, notfor display, defining first three-dimensional spatial information 5.

At block 14, the method comprises enabling rendering of the user-definedmessage content 4 in a second three-dimensional scene 20′ viewed by thesecond user 102. The user-defined message content 4 moves, within thesecond three-dimensional scene 20′, along a three-dimensional trajectory8 dependent upon the first three-dimensional spatial information 5 andthree-dimensional spatial information 55 of the second user 102.

In some but not necessarily all examples, the message metadata 6 of themessage 2 may be defined automatically, at sub-block 18, in response touser-definition, at sub-block 16, of the user-defined message content 4of the message 2.

In some, but not necessarily all embodiments the messaging method 10enables the messaging of multiple users 102 _(n) simultaneously orasynchronously. At block 12, the message 2 is defined for display to atleast multiple other users 102 _(n), including the second user 102, inassociation with the first three-dimensional scene 20 viewed by thefirst user 101 and viewed by or viewable by the other users 102.

In some but not necessarily all examples, the first user 101 may be oneof the other users 102.

For each of the other users 102 _(n), there is a block 14 _(n), enablingrendering of the user-defined message content 4 in a three-dimensionalscene 20 _(n)′ viewed by the respective other user 102 _(n). Theuser-defined message content 4 moves, within the three-dimensional scene20 _(n)′ viewed by the respective other user 102 _(n), along athree-dimensional trajectory 8 _(n) dependent upon the firstthree-dimensional spatial information 5, and three-dimensional spatialinformation of the respective other user 102 _(n). In this way each ofthe other users 102 _(n) views the same user-defined message content 4,within their own personal scene 20 _(n)′ and moving with their ownpersonal trajectory 8 _(n).

In some, but not necessarily all embodiments, for example as illustratedin FIG. 2, the messaging method 10 additionally enables the messaging,from multiple originating users 101 _(m) including the first user 101,simultaneously or asynchronously. For each of the multiple originatingusers 101 _(m), there is a block 12 _(m), enabling a respectiveoriginating user 101 _(m) to define a different message 2 _(m) fordisplay to at least multiple other users 102 _(n) in association with afirst three-dimensional scene 20 _(m) viewed by the respectiveoriginating user 101 _(m) and viewed by or viewable by the other users102 _(n). Each message 2 _(m) comprises user-defined message content 4_(m) for display defined by the respective originating user 101 _(m) andmessage metadata 6 _(m), not for display, defining firstthree-dimensional spatial information 5 _(m).

For each of the other users 102 _(n), there is, for each of the messages4 _(m), a block 14 _(nm), enabling rendering of the user-defined messagecontent 4 _(m) in a three-dimensional scene 20 _(n)′ viewed by therespective other user 102 _(n). The user-defined message content 4 _(m)moves, within the three-dimensional scene 20 _(n)′ viewed by therespective other users 102 _(n), along a three-dimensional trajectory 8_(mn) dependent upon the first three-dimensional spatial information 5_(m), and three-dimensional spatial information of the respective otheruser 102 _(n). In this way each of the other users 102 _(n) views eachuser-defined message content 4 _(m), within their own personal scene 20_(n)′ and moving with their own personal trajectory 8 _(mn).

Thus a message 2 may be sent from a single user to another user or otherusers (FIG. 1) and/or different messages 2 may be sent from users toanother user or other users (FIG. 2).

Where different messages 2 are sent their message content 4 may berendered simultaneously to at least some users. The message content 4may be rendered as an object, for example as snippets of text(characters, symbols, icons, for example) moving in trajectory 8. Themultiple objects 9 rendered may represent a barrage e.g. Danmu(

) or “danmaku” but with each object potentially having a differentnon-parallel trajectory. The messages 2 may be rendered in real time ornot in real-time, for example, with a timing based on timestampinformation comprised within the metadata 6 of the messages 2.

FIG. 3A illustrates an example of a first three-dimensional scene 20 asviewed by a first user 101. The first three-dimensional spatialinformation 5 defines a location 26 in the scene 20.

FIG. 3B illustrates an example of a second three-dimensional scene 20′viewed by the second user 102 in which the user-defined message content4 is rendered. The user-defined message content 4 moves, within thesecond three-dimensional scene 20′, along a three-dimensional trajectory8. In this example, but not necessarily all examples, the user-definedmessage content 4 is rendered as a spatially limited moving object 9.The object 9 moves, within the second three-dimensional scene 20′, alonga three-dimensional trajectory 8.

The three-dimensional trajectory 8 is dependent upon at least firstthree-dimensional spatial information 5 defined in the metadata 5 of themessage 2 and three-dimensional spatial information 55 of the seconduser 102.

The trajectory 8 is a non-rectilinear three-dimensional trajectory.

In this example but not necessarily all examples, the trajectory 8 hasan initial portion 81 that is rectilinear and horizontal, right to left,and a subsequent portion 82 dependent upon the first three-dimensionalspatial information 5.

A final portion 82 of the trajectory 8 is towards a destination location28 defined by the first three-dimensional spatial information 5. In thisexample but not necessarily all examples, the trajectory 8 ends at adestination location 28, the user-defined message content 4 vanishing atthe destination location 28.

The first three-dimensional spatial information 5 defines a location 26in the scene 20 which in turn defines the destination location 28 in thesecond scene 20′.

The second scene 20′ might or might not comprise at least a portion ofthe first scene 20. In some examples it may be the same scene.

The second scene 20′ may be an image or video (recorded or live) or itmay be the real world.

The message content 4 may be rendered as mediated reality (augmentedreality or virtual reality) in a see video or see-through configuration.The second scene 20′ may be the real-world seen through a transparentdisplay for displaying the message content 4 or may be a video of thereal-world or other content seen on a non-transparent display that alsodisplays the message content 4.

FIG. 4 illustrates a first user 101 located at a location 30 oriented sothat the first user 101 has an orientation (perspective) 34 with a fieldof view 36. Although the orientation is illustrated in two-dimensionsusing only an azimuthal angle (360 degrees) it is, in this example,defined in three dimensions, in a polar coordinate system, by using anazimuthal angle (360 degrees) and a polar angle (180 degrees) [notillustrated]. The orientations define a spherical panorama and a segmentof this panorama defined by the field of view 36 produces the firstscene 20.

First three-dimensional spatial information 5 defines a location 26. Thelocation 26 may be a location of a portion 38 of the scene 20 viewed bythe first user 101, the location of an object of interest 40 within thescene 20 viewed by the first user 101 or a location 30 of the first user101 viewing the scene 20.

In some but not necessarily all examples, the first three-dimensionalspatial information 5 of the metadata 6 of the message 2 may be definedautomatically, based on the location 26 at the time when the first user101 defines the user-defined message content 4 of the message 2.

FIGS. 5A, 5B, 5C illustrate a second user 102 located at a location 50oriented so that the second user 102 has an orientation (perspective) 54with a field of view 56. The combination of location 50, orientation(perspective) 54 and field of view 56 defines the spatial information 55of the second user 103, which determines the second scene 20′ and thetrajectory 8. Although the orientation is illustrated in two-dimensionsusing only an azimuthal angle (360 degrees) it is, in this example,defined in three dimensions, in a polar coordinate system, by using anazimuthal angle (360 degrees) and a polar angle (180 degrees) [notillustrated]. The orientations define a spherical panorama and a segmentof this panorama defined by the field of view 36 produces the secondscene 20′.

Each of FIGS. 5A, 5B, 5C have different combinations of location 50,orientation (perspective) 54 and field of view 56 which determinedifferent second scenes 20′ in each of the Figs.

It will therefore be appreciated that if the second user 102 changes oneor more of location 50, orientation (perspective) 54 and field of view56, then the second scene 20′ changes.

The second scene 20′ might or might not comprise a portion of the firstscene 20 and vice versa. Whether or not this is the case depends on thelocation 50, orientation (perspective) 54 and the field of view 56 ofthe second user 102 relative to the location 30, orientation(perspective) 34 and field of view 36 of the first user 101.

FIGS. 6A and 6B illustrate examples of different second scenes 20′.

The first three-dimensional spatial information 5 defines a location 26in the scene 20 which in turn defines a destination location 28 for thetrajectory 8 of the message content 4. In each of the examples of FIGS.6A and 6B, the destination location 28 is outside the second scene 20′.

In FIG. 6A the destination location 28 is outside the second scene 20′to the right. Two messages 2 are delivered towards the same destinationlocation 28. The message content 4 of each follows a differenttrajectory 8 towards the same destination location 28 off-screen. Eachof the trajectories 8 has an initial portion 81 that is right to left,and a subsequent portion 82 left to right dependent upon the firstthree-dimensional spatial information 5 (destination location 28).

In FIG. 6B the destination location 28 is outside the second scene 20′to the left. A message 2 is delivered towards a destination location 28.The message content 4 follows a trajectory 8 towards the destinationlocation 28 off-screen. The trajectory 8 has an initial portion 81 thatis right to left, and a subsequent switchback portion 82 left to rightthen right to left dependent upon the first three-dimensional spatialinformation 5 (destination location 28).

In some embodiments, the size of the message content 4, as viewed by thefirst and second users 101, 102 at an instance in time depends upon thedistance between the message content 4 at the three-dimensional locationin the scene 20, 20′ at which it is rendered and the location 30, 50 ofthe user 101, 102 viewing the message content 4. In such embodiments,the font size at which the message content 4 is viewed by the user 101,102 may also depend upon that distance.

The initial trajectory 81 of the message content 4 need not be fromright to left, as described above in relation to FIGS. 6A and 6B. Thedirection of the initial trajectory 81 may be user definable in someembodiments. The subsequent trajectory 82 may depend upon (for example,vary based on) the user-defined initial trajectory 81, such that theinitial trajectory 81 and the subsequent/switchback trajectory 82together form a continuous trajectory.

The messages 2 may be rendered in real time or not in real-time, forexample, with a timing based on timestamp information comprised withinthe metadata 6 of the messages 2. FIG. 7 illustrates an example of amessage 2 comprising message content 4 and metadata 6. The metadata 6comprises the first three-dimensional spatial information 5 and timeinformation 7. Time information 7 defines the time at which the firstuser 101 defines the user-defined message content 4 of the message 2.The message content 4 may be rendered not in real-time, for example,with a timing based on time information 7. For example message content 4may be queued for rendering based on an order defined by the timeinformation 7.

In some embodiments, a message 2 may be resent by repeating the method,for example after the user-defined message content 4 has reached thedestination location 28 and vanished. Resending may be performedautomatically or in response to user input by the originating user 101.

Referring to FIGS. 5A-5C, FIG. 3B and FIGS. 6A and 6B it should beappreciated that the second scene 20′ have been automatically adapted,dynamically in real-time, in dependence upon adaptation of the spatialinformation 55 of the second user 103. As the second scene 20′ changesthe trajectory 8 of the message content 4 is adapted, dynamically inreal-time, in dependence upon the dynamic real-time adaptation of thethree-dimensional spatial information 55 of the second user 102.

In some but not necessarily all examples, the moving user-definedmessage content 4 has visual persistence which creates a visual tracealong the trajectory 8. The visual persistence of the movinguser-defined message content 4 creates a temporary, fading trace withinthe second scene 20′.

The visual persistence may, in some examples, have a varying fade timeso that the persistence is variable. For example, a visual persistenceof the content 4 of a message 2 may become greater as the second scene20′ moves towards the destination location 28 for that message 2 andbecomes less if the second scene 20′ moves away from the destinationlocation 28 of that message 2 or is stationary.

FIG. 8A illustrates an example of a controller configured to control adisplay 120 to render the message content 4 of one or more messages 2 aspreviously described.

Implementation of the controller 110 may be as controller circuitry. Thecontroller 110 may be implemented in hardware alone, have certainaspects in software including firmware alone or can be a combination ofhardware and software (including firmware).

As illustrated in FIG. 8A the controller 110 may be implemented usinginstructions that enable hardware functionality, for example, by usingexecutable instructions of a computer program 106 in a general-purposeor special-purpose processor 102 that may be stored on a computerreadable storage medium (disk, memory etc.) to be executed by such aprocessor 102.

The processor 102 is configured to read from and write to the memory104. The processor 102 may also comprise an output interface via whichdata and/or commands are output by the processor 102 and an inputinterface via which data and/or commands are input to the processor 102.

The memory 104 stores a computer program 106 comprising computer programinstructions (computer program code) that controls the operation of theapparatus 130 when loaded into the processor 102. The computer programinstructions, of the computer program 106, provide the logic androutines that enables the apparatus to perform the methods illustratedin FIGS. 1 & 2. The processor 102 by reading the memory 104 is able toload and execute the computer program 106.

The apparatus 130 therefore comprises:

at least one processor 102; andat least one memory 104 including computer program codethe at least one memory 104 and the computer program code configured to,with the at least one processor 102, cause the apparatus 130 at least toperform:receiving a message defined by a first user for display to multipleother user in association with a first three-dimensional scene viewed bythe first user and viewed by or viewable by the multiple other users,the message comprising user-defined message content for display andmessage metadata, not for display, defining first three-dimensionalspatial information; andenabling rendering of the user-defined message content as overlay on asecond three-dimensional scene viewed by a second user, using thepersonal user apparatus, wherein the user-defined message content moves,within the second three-dimensional scene, along a three-dimensionaltrajectory dependent upon the first three-dimensional spatialinformation and three-dimensional spatial information of the seconduser.

The functions performed by the apparatus 130 may be performed indifferent ways, therefore the apparatus 130 may comprise: means forreceiving a message defined by a first user for display to multipleother user in association with a first three-dimensional scene viewed bythe first user and viewed by or viewable by the multiple other users,the message comprising user-defined message content for display andmessage metadata, not for display, defining first three-dimensionalspatial information; and means for enabling rendering of theuser-defined message content as overlay on a second three-dimensionalscene viewed by a second user, using the personal user apparatus,wherein the user-defined message content moves, within the secondthree-dimensional scene, along a three-dimensional trajectory dependentupon the first three-dimensional spatial information andthree-dimensional spatial information of the second user.

As illustrated in FIG. 8B, the computer program 106 may arrive at theapparatus 130 via any suitable delivery mechanism 108. The deliverymechanism 108 may be, for example, a non-transitory computer-readablestorage medium, a computer program product, a memory device, a recordmedium such as a compact disc read-only memory (CD-ROM) or digitalversatile disc (DVD), an article of manufacture that tangibly embodiesthe computer program 106. The delivery mechanism may be a signalconfigured to reliably transfer the computer program 106. The apparatus130 may propagate or transmit the computer program 106 as a computerdata signal.

Although the memory 104 is illustrated as a single component/circuitryit may be implemented as one or more separate components/circuitry someor all of which may be integrated/removable and/or may providepermanent/semi-permanent/dynamic/cached storage.

Although the processor 102 is illustrated as a singlecomponent/circuitry it may be implemented as one or more separatecomponents/circuitry some or all of which may be integrated/removable.The processor 102 may be a single core or multi-core processor.

References to ‘computer-readable storage medium’, ‘computer programproduct’, ‘tangibly embodied computer program’ etc. or a ‘controller’,‘computer’, ‘processor’ etc. should be understood to encompass not onlycomputers having different architectures such as single/multi-processorarchitectures and sequential (Von Neumann)/parallel architectures butalso specialized circuits such as field-programmable gate arrays (FPGA),application specific circuits (ASIC), signal processing devices andother processing circuitry. References to computer program,instructions, code etc. should be understood to encompass software for aprogrammable processor or firmware such as, for example, theprogrammable content of a hardware device whether instructions for aprocessor, or configuration settings for a fixed-function device, gatearray or programmable logic device etc.

As used in this application, the term ‘circuitry’ refers to all of thefollowing:

(a) hardware-only circuit implementations (such as implementations inonly analog and/or digital circuitry) and(b) to combinations of circuits and software (and/or firmware), such as(as applicable): (i) to a combination of processor(s) or (ii) toportions of processor(s)/software (including digital signalprocessor(s)), software, and memory(ies) that work together to cause anapparatus, such as a mobile phone or server, to perform variousfunctions and(c) to circuits, such as a microprocessor(s) or a portion of amicroprocessor(s), that require software or firmware for operation, evenif the software or firmware is not physically present.

This definition of ‘circuitry’ applies to all uses of this term in thisapplication, including in any claims. As a further example, as used inthis application, the term “circuitry” would also cover animplementation of merely a processor (or multiple processors) or portionof a processor and its (or their) accompanying software and/or firmware.The term “circuitry” would also cover, for example and if applicable tothe particular claim element, a baseband integrated circuit orapplications processor integrated circuit for a mobile phone or asimilar integrated circuit in a server, a cellular network device, orother network device.

FIG. 8C illustrates an example of a system 140 comprising a network 142,for example the internet and a plurality of apparatus 130. One or morethe apparatus 130 may be used to compose one or more messages 2. One ormore of the apparatus 130 may be used to render the composed messages 2as described above.

FIGS. 9A, 9B and 9C illustrate examples of the apparatus 130.

FIG. 9A illustrates an example of the apparatus 130 embodied in auser-personal apparatus such as, for example, a tablet computer, mobilephone etc. The apparatus 130 may be configured so that a user of theapparatus 130 can switch off rendering of the messages 2, in which casethe message content 4 is not displayed

FIG. 9B illustrates an example of the apparatus 130 embodied in auser-worn apparatus such as, for example, a head mounted displayapparatus. The apparatus 130 may be configured so that a user of theapparatus 130 can switch off rendering of the messages 2, in which casethe message content 4 is not displayed

FIG. 9C illustrates an example of the apparatus 130 embodied in a sharedapparatus viewed by many users 102, such as for example a cinemascreening apparatus.

The blocks illustrated in the FIGS. 1 & 2 may represent steps in amethod and/or sections of code in the computer program 106. Theillustration of a particular order to the blocks does not necessarilyimply that there is a required or preferred order for the blocks and theorder and arrangement of the block may be varied. Furthermore, it may bepossible for some blocks to be omitted.

Where a structural feature has been described, it may be replaced bymeans for performing one or more of the functions of the structuralfeature whether that function or those functions are explicitly orimplicitly described.

The term ‘comprise’ is used in this document with an inclusive not anexclusive meaning. That is any reference to X comprising Y indicatesthat X may comprise only one Y or may comprise more than one Y. If it isintended to use ‘comprise’ with an exclusive meaning then it will bemade clear in the context by referring to “comprising only one” or byusing “consisting”.

In this brief description, reference has been made to various examples.The description of features or functions in relation to an exampleindicates that those features or functions are present in that example.The use of the term ‘example’ or ‘for example’ or ‘may’ in the textdenotes, whether explicitly stated or not, that such features orfunctions are present in at least the described example, whetherdescribed as an example or not, and that they can be, but are notnecessarily, present in some of or all other examples. Thus ‘example’,‘for example’ or ‘may’ refers to a particular instance in a class ofexamples. A property of the instance can be a property of only thatinstance or a property of the class or a property of a sub-class of theclass that includes some but not all of the instances in the class. Itis therefore implicitly disclosed that a features described withreference to one example but not with reference to another example, canwhere possible be used in that other example but does not necessarilyhave to be used in that other example.

Although embodiments of the present invention have been described in thepreceding paragraphs with reference to various examples, it should beappreciated that modifications to the examples given can be made withoutdeparting from the scope of the invention as claimed.

Features described in the preceding description may be used incombinations other than the combinations explicitly described.

Although functions have been described with reference to certainfeatures, those functions may be performable by other features whetherdescribed or not.

Although features have been described with reference to certainembodiments, those features may also be present in other embodimentswhether described or not.

Whilst endeavoring in the foregoing specification to draw attention tothose features of the invention believed to be of particular importanceit should be understood that the Applicant claims protection in respectof any patentable feature or combination of features hereinbeforereferred to and/or shown in the drawings whether or not particularemphasis has been placed thereon.

1-15. (canceled)
 16. An apparatus comprising: at least one processor;and at least one memory including computer program code, the at leastone memory and the computer program code configured to, with the atleast one processor, cause the apparatus to perform at least thefollowing: enable a first user to define a message for display to atleast a second user in association with a first three-dimensional sceneviewed by the first user and viewed by or viewable by the second user,wherein the message comprises user-defined message content for displayand message metadata, not for display, defining first three-dimensionalspatial information; and enable rendering of the user-defined messagecontent in a second three-dimensional scene viewed by the second user,wherein the user-defined message content moves, within the secondthree-dimensional scene, along a three-dimensional trajectory dependentupon the first three-dimensional spatial information andthree-dimensional spatial information of the second user.
 17. Anapparatus as claimed in claim 16, further cause the apparatus to performat least the following: automatic computer-implemented definition of themessage metadata of the message in response to user-definition of theuser-defined message content of the message.
 18. An apparatus as claimedin claim 16, wherein the message metadata additionally comprises timeinformation.
 19. An apparatus as claimed in claim 16, further cause theapparatus to perform at least the following: generate automatically thefirst three-dimensional spatial information to define a location.
 20. Anapparatus as claimed in claim 19, wherein the location is a location ofthe scene viewed by the first user, a location of an object of interestwithin the scene viewed by the first user or a location of the firstuser viewing the scene.
 21. An apparatus as claimed in claim 16, whereinuser-defined message content is displayed as a spatially limited movingobject.
 22. An apparatus as claimed in claim 16, wherein the trajectoryis a non-rectilinear three-dimensional trajectory.
 23. An apparatus asclaimed in claim 16, wherein the trajectory is initially rectilinear,right to left and is then dependent upon the first three-dimensionalspatial information.
 24. An apparatus as claimed in claim 16, wherein afinal portion of the trajectory is towards a destination locationdefined by the first three-dimensional spatial information.
 25. Anapparatus as claimed in claim 24, wherein the trajectory ends at thedestination location, the user-defined message content vanishing at thedestination location.
 26. An apparatus as claimed in claim 16, furthercause the apparatus to perform at least the following: dynamic real-timeadaptation of the trajectory in dependence upon dynamic real-timeadaptation of the three-dimensional spatial information of the seconduser.
 27. An apparatus as claimed in claim 16, wherein time-dependentvisual persistence of the moving user-defined message content creates atemporary, fading three-dimensional trace along the three-dimensionaltrajectory within the second three-dimensional scene.
 28. An apparatusas claimed in claim 16, wherein the message is defined for display to atleast multiple other users, including the second user, in associationwith the first three-dimensional scene viewed by the first user andviewed by or viewable by the other users, the apparatus is furthercaused to perform at least the following: for each of the other users,enable rendering of the user-defined message content in athree-dimensional scene viewed by the respective other user, wherein theuser-defined message content moves, within the three-dimensional sceneviewed by the respective other user, along a three-dimensionaltrajectory dependent upon the first three-dimensional spatialinformation, and three-dimensional spatial information of the respectiveother user.
 29. An apparatus as claimed in claim 16, further cause theapparatus to perform at least the following: enable originating users todefine messages for display simultaneously to at least the second userin association with the three-dimensional scenes viewed by theoriginating users and viewed by or viewable by the second user, whereineach of the messages comprise user-defined message content for displayand message metadata, not for display, defining first three-dimensionalspatial information, and enable simultaneous rendering of theuser-defined message content of the messages in a three-dimensionalscene viewed by the second user, wherein the user-defined messagecontent for each message moves, within the three-dimensional sceneviewed by the second user, along a three-dimensional trajectorydependent upon the first three-dimensional spatial information of themessage, and three-dimensional spatial information of the second user.30. A method comprising: enabling a first user to define a message fordisplay to at least a second user in association with a firstthree-dimensional scene viewed by the first user and viewed by orviewable by the second user, wherein the message comprises user-definedmessage content for display and message metadata, not for display,defining first three-dimensional spatial information; and enablingrendering of the user-defined message content in a secondthree-dimensional scene viewed by the second user, wherein theuser-defined message content moves, within the second three-dimensionalscene, along a three-dimensional trajectory dependent upon the firstthree-dimensional spatial information and three-dimensional spatialinformation of the second user.
 31. A method as claimed in claim 30,comprising automatic computer-implemented definition of the messagemetadata of the message in response to user-definition of theuser-defined message content of the message.
 32. A method as claimed inclaim 30, wherein the message metadata additionally comprises timeinformation.
 33. A method as claimed in claim 30, comprisingautomatically generating the first three-dimensional spatial informationto define a location.
 34. A method as claimed in claim 33, wherein thelocation is a location of the scene viewed by the first user, a locationof an object of interest within the scene viewed by the first user or alocation of the first user viewing the scene.
 35. A non-transitorycomputer readable medium comprising program instructions stored thereonfor performing at least the following: enable a first user to define amessage for display to at least a second user in association with afirst three-dimensional scene viewed by the first user and viewed by orviewable by the second user, wherein the message comprises user-definedmessage content for display and message metadata, not for display,defining first three-dimensional spatial information; and enablerendering of the user-defined message content in a secondthree-dimensional scene viewed by the second user, wherein theuser-defined message content moves, within the second three-dimensionalscene, along a three-dimensional trajectory dependent upon the firstthree-dimensional spatial information and three-dimensional spatialinformation of the second user.